Micron Document

Interface
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

An interface is how a Reticulum instance communicates with the outside world.

The interface system is medium-agnostic, so an instance can use a mix of local communication hardware, remote public endpoints and virtual interfaces. See the list of interface types below.

Contents
Configuration

In RNS, interfaces are specified in the configuration file under [interfaces]. See Common Interface Options ↗ in the manual for more.

Getting started

To connect to the global Reticulum backbone, simply add one or more public endpoints from directory.rns.recipes or rmap.world.cite-ref-1[1]

Rather than relying on static connections, consider using public endpoints as temporary bootstrap connections that dynamically discover and auto-connect to more suitable ones. This results in a network topology that is more geographically relevant, resilient and efficient. This is the way.cite-ref-2[2]

Note: Reticulum is not a single global network you “join”. It's a toolkit for building all sorts of networks, small or large. How you choose to connect to other peers is up to you.cite-ref-3[3]

Recommended reading
Modes

Interface modes let you control how announces propagate and how paths are discovered, indirectly affecting how transport nodes route traffic. Properly configured interfaces can adapt network usage to different scenarios, such as fast backbone links, slow radio segments, or mobile connections.cite-ref-4[4]

Comparison

| Name | Path expiration | Path seeking | Propagates announces to |
|---|---|---|---|
| full | 7 days | ❌ | full boundary roaming gateway internal |
| gateway / gw | 7 days | ✅ | full boundary roaming gateway internal |
| access_point / ap | 1 day | ✅ | full boundary roaming gateway internal |
| boundary | 7 days | ❌ | full boundary gateway |
| internal | 7 days | ✅ | full boundary gateway internal |
| roaming | ¼ day | ✅ | full gateway internal |

full

The default mode. Lack of path seeking means it can only answer network queries for announces it has seen directly.

Unless running as a transport node, it is generally best to use full.

gateway

Basically full + path seeking on behalf of its clients.

If an interface is discoverable, RNS will automatically force the mode gateway (or access_point for RNodes).

Tip: If you want to allow other peers to widely resolve paths or connect to a wider network through an interface, put it in gateway mode. By creating a chain of gateway interfaces, peers can immediately resolve paths to any destination along the chain.

access_point

Silent until requested; ideal for radio connections. Announces will never propagate over access_point interfaces, but path seeking allows it to resolve paths on behalf of its clients. Lower expiration time ensures fewer stale paths.

If an RNode interface is discoverable, RNS will automatically force the mode access_point.

boundary

Marks an edge to a network segment that is significantly different from the current one.

For example, if the instance is part of a low-bandwidth LoRa segment but also has a high-bandwidth Internet connection over a BackboneInterface, then that interface should be set to boundary.

internal

Protected inner segment. Announces from boundary interfaces will not propagate over internal interfaces. Path seeking still allows its clients to resolve paths across any boundary interfaces on the instance.

roaming

Mobile interfaces. Low expiration time reduces the need to test paths that may no longer be valid due to movement. Announces are only broadcast to full, gateway and internal interfaces, keeping downstream connections clean from transient paths.

Announce propagation

Announces propagate across a node's interfaces depending on their modes, according to the following rules:cite-ref-5[5]

| From ↓ To → | full | access_point | boundary | roaming | gateway | internal |
|---|---|---|---|---|---|---|
| full | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| gateway | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| access_point | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| boundary | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| internal | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| roaming | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |

✅ Will rebroadcast announce.
❌ Will not rebroadcast announce.

The tools Reticulum Announce Propagation Simulator and Reticulated may be used to visualize how announces propagate.

In RNS, you can disable announce propagation from internal interfaces to a specific interface by setting announces_from_internal = false on that interface. Paths to destinations on internal interfaces may still be resolved via the interface if it provides path seeking.

Setting announces_to_internal = true on a boundary interface will allow announce propagation from that interface to any internal interfaces. Likewise, autoconnect_announces_to_internal = true does the same for auto-connected interfaces if autoconnect_interface_mode = boundary.

Path seeking

See also: Path#Request

Any node that has no path to a destination can send out a path request on the network. An interface that supports path seeking will attempt to recursively resolve path requests it receives. See the comparison table above for which interface modes support path seeking by default.

In RNS, it is possible to force path seeking on individual boundary and full interfaces by setting recursive_prs = true.

Note: In the manual and code, this is sometimes called "path discovery". On this wiki, the term "path seeking" is used to avoid confusion with interface discovery.

Discoverable

See also: Discovery

By making an interface discoverable, other peers can discover, verify, and auto-connect to it. Discoverable interfaces periodically broadcast announce packets with connection details, which are propagated over the network. The announce can be encrypted with a network identity, ensuring the interface is only discoverable on trusted networks. It can also include the interface's IFAC.cite-ref-6[6]

In RNS, to make an interface discoverable, set discoverable = true in its definition. For more, see Discovery Parameters ↗ in the manual.

Note: A discoverable interface announces its presence, capabilities and (if configured) location to the network. This may have security implications.

Auto-connect


Reticulum can auto-connect to discovered interfaces, automatically bringing interfaces up and down based on their availability.

In RNS, enable interface discovery with discover_interfaces = true and set autoconnect_discovered_interfaces to a number greater than 0.

Bootstrap


Interfaces can be configured as temporary bootstrap connections, discovering and auto-connecting to more suitable connections before disconnecting themselves.

In RNS, to use an interface for bootstrapping, set bootstrap_only = true in its definition. It relies on interface discovery and auto-connection, so make sure these features are also enabled in the configuration (see above).

IFAC


Interfaces can be configured with an IFAC to control who can communicate directly with the interface.

In RNS, to enable IFAC on an interface, simply specify a network_name and/or a passphrase in its definition.

Gravity

In RNS, interfaces may be given a gravity. If multiple interfaces receive the same announce, the interface with the highest gravity wins the path table entry. This is especially useful for transport nodes with public endpoints where users continually connect and disconnect, resulting in stale paths.

The default gravity is 0 by default, or a number defined by default_gravity (and autoconnect_interface_gravity for when auto-connecting).cite-ref-7[7]

Types

RNS has a wide range of built-in interface types:

AutoInterface – IPv6 multicast-based peer discovery (docs).
BackboneInterface – High-performance, resource-efficient interface for Linux/Android (docs).
TCPServerInterface – Allows TCPClientInterfaces to connect over the Internet or private IPv4/IPv6 networks (docs).
TCPClientInterface – Connects to a remote TCPServerInterface over the Internet or private IPv4/IPv6 networks (docs).
UDPInterface – Provides UDP-based communication (docs).
I2PInterface – Routes data through the I2P network for anonymous communication (docs).
RNodeInterface – Interfaces with an RNode for digital radio communication (docs).
RNodeMultiInterface – For RNodes with multiple LoRa transceivers, allows sub-interfaces to be configured individually (docs).
SerialInterface – Enables communication over serial lines and devices (docs).
PipeInterface – Interfaces with any program via stdin and stdout (docs).
KISSInterface – Interfaces with KISS protocol-compatible packet radio modems (docs).
AX25KISSInterface – Interfaces with AX.25 KISS protocol devices for amateur radio communication (docs).
WeaveInterface – Interfaces with Weave devices over serial connections (source).

As well as support for custom interfacescite-ref-8[8]:

BLEInterface – BLE interface for Linux systems.
FreeDVInterface – Plug and play, cross-platform sound modem interface for HF radios using the FreeDV API.
Meshtastic_Interface – Interface for using Meshtastic as the underlying networking layer.
Modem73Interface – Interface for modem73. Enables any HF/VHF/UHF radio to operate with Reticulum.
RNodeTCPInterface – A modified version of RNodeInterface that supports TCP connections only.
SX126xInterface – Drives SX1262 LoRa chips directly over SPI on Linux SBCs. No RNode needed.
• retiqr – An alternative reticulum QR + USB HID interface (via TCPClientInterface).
• RNS-over-HTTP – Tunnels traffic over standard HTTP/S POST requests (via PipeInterface).

See also
References

cite-note-11. Connect to the Distributed Backbone, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-22. Finding Your Way, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-33. Bootstrapping Connectivity, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-44. Interface Modes, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-55. Announce Propagation Rules, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-66. Discoverable Interfaces, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu
cite-note-77. Help Testing: Interface Gravity, rns.recipes Community Forum (2026-07-23). Web / NomadNet: 9ce92808be498e9e05590ff27cbfdfe4:/page/forum/thread.mu
cite-note-88. Interfaces, Manual. a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu

External links

• Reticulum Announce Propagation Simulator
• Reticulated
• Reticulum Primer – Outdated, but still a valuable resource with several example arrangements.

Reticulum concepts
Interface